// pages/home/home.js
// https://vant-contrib.gitee.io/vant-weapp/#/quickstart

import { getBannerList, getProList } from './../../api/home'
Page({

  /**
   * 页面的初始数据
   */
  data: {
    bannerList: [],
    proList: [],
    count: 2, // 因为第一次已经加载了第一页数据
    flag: false
  },
  /**
   * 
   * 点击进入详情
   */
  toDetail (event) {
    // console.log(event)
    const { proid } = event.target.dataset
    // 编程式跳转
    /**
     * wx.switchTab() 跳转tabBar页面，当前项目 跳转到 首页，分类，购物车，我的 使用，关闭其他所有非 tabBar 页面
     * wx.reLaunch()  关闭所有页面，打开到应用内的某个页面
     * wx.redirectTo() 关闭当前页面，跳转到应用内的某个页面。但是不允许跳转到 tabbar 页面。 replace
     * wx.navigateTo() 保留当前页面，跳转到应用内的某个页面。但是不能跳到 tabbar 页面。使用 wx.navigateBack 可以返回到原页面。小程序中页面栈最多十层   push
     * wx.navigateBack() 关闭当前页面，返回上一页面或多级页面   back 
     * 
     * 小程序跳转页面传递参数需要使用query形式   /detail?proid=1
     */
    wx.navigateTo({
      url: '/pages/detail/detail?proid=' + proid
    })
  },
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    getBannerList().then(res => {
      // console.log(res)
      this.setData({ // 修改状态
        bannerList: res.data.data
      })
    })
    getProList().then(res => {
      this.setData({
        proList: res.data.data
      })
    })
  },
  /**
   * 页面相关事件处理函数--监听用户下拉动作 ---- 请求了第一页的数据，页码一定要重置
   */
  onPullDownRefresh: function () {
    getProList().then(res => {
      this.setData({
        proList: res.data.data,
        count: 2
      })
      // 主动结束下拉刷新
      wx.stopPullDownRefresh()
    })
  },

  /**
   * 页面上拉触底事件的处理函数 ---- 加载下一页数据
   */
  onReachBottom: function () {
    console.log(1)
    getProList({ count: this.data.count })
      .then((res) => {
        if (res.data.data.length === 0) {
          // 提示用户没有更多数据了
          wx.showToast({
            title: '我也是有底线的',
            icon: 'none' // 取消对勾
          })
        } else {
          // 有数据拼接数据
          this.setData({
            proList: [...this.data.proList, ...res.data.data],
            count: this.data.count + 1
          })
        }
      })
  },
  /**
   * 监听用户滑动页面事件。
   * https://developers.weixin.qq.com/miniprogram/dev/reference/api/Page.html#onPageScroll-Object-object
   */
  onPageScroll ({ scrollTop }) {
    // console.log(scrollTop)
    this.setData({
      flag: scrollTop > 300
    })
  },
  /**
   * 返回顶部
   */
  backtop () {
    // https://developers.weixin.qq.com/miniprogram/dev/api/ui/scroll/wx.pageScrollTo.html
    wx.pageScrollTo({
      scrollTop: 0,
      duration: 300
    })
  },
  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  }
})